package algorithm.recursion.basic;

/**
 * 项目名称: god
 * 包 名 称: algorithm.recursion.basic
 * 类 名 称: TailCall
 * 类 描 述: TODO
 * 创建时间: 2020/7/9 10:40 上午
 * 创 建 人: Justice
 * 尾递归优化
 * 求1*2*3*........*n的阶乘
 */
public class TailCall {
    public static int fib(int n) {
        return fib(n, 1);
    }

    public static int fib(int n, int result) {
        if (n <= 1) return result;
        return fib(n - 1, result * n);
    }
}
